From: Stefano Stabellini Date: Wed, 11 Jun 2014 16:27:08 +0000 (+0100) Subject: xen/arm: introduce vgic_rank_irq X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~4829 X-Git-Url: https://dgit.raspbian.org/%22http:/www.example.com/cgi/%22https://%22%22/%22http:/www.example.com/cgi/%22https:/%22%22?a=commitdiff_plain;h=d56f1994b0241ac912796e8fb39ca20ba9ee8a12;p=xen.git xen/arm: introduce vgic_rank_irq Introduce vgic_rank_irq: a new helper function that gives you the struct vgic_irq_rank corresponding to a given irq number. Use it in vgic_vcpu_inject_irq. Signed-off-by: Stefano Stabellini Acked-by: Julien Grall Acked-by: Ian Campbell --- diff --git a/xen/arch/arm/vgic.c b/xen/arch/arm/vgic.c index f8cb3d553b..757707eb3f 100644 --- a/xen/arch/arm/vgic.c +++ b/xen/arch/arm/vgic.c @@ -73,6 +73,11 @@ static struct vgic_irq_rank *vgic_rank_offset(struct vcpu *v, int b, int n) return NULL; } +static struct vgic_irq_rank *vgic_rank_irq(struct vcpu *v, unsigned int irq) +{ + return vgic_rank_offset(v, 8, irq >> 2); +} + int domain_vgic_init(struct domain *d) { int i; @@ -720,7 +725,7 @@ void vgic_vcpu_inject_irq(struct vcpu *v, unsigned int irq) { int idx = irq >> 2, byte = irq & 0x3; uint8_t priority; - struct vgic_irq_rank *rank = vgic_rank_offset(v, 8, idx); + struct vgic_irq_rank *rank = vgic_rank_irq(v, irq); struct pending_irq *iter, *n = irq_to_pending(v, irq); unsigned long flags; bool_t running;